1. Field of the Invention
The present invention relates to a control unit for an electric power steering apparatus that provides steering assist force by a motor to the steering system of an automobile or a vehicle. The present invention particularly relates to a control unit for an electric power steering apparatus that is equipped with two controllers of a main and a sub (CPU (Central Processing Unit) or MCU (Micro Controller Unit)) for controlling a motor of a large inertia using a digital servo, the one controller for controlling the motor, and the other for monitoring an abnormality of a driving system, to have improved controllability and safety.
2. Description of the Related Art
An electric power steering apparatus for applying assist load to the steering apparatus of an automobile or a vehicle using turning effort of a motor applies the driving force of the motor to a steering shaft or a rack axis based on a transmission mechanism like gears or belts via a reduction mechanism. Such a conventional electric power steering apparatus carries out a feedback control of a motor current for accurately generating an assist torque (a steering assist torque). The feedback control is for adjusting a motor application voltage so as to minimize a difference between a current control value and a motor current detection value. The motor application voltage is generally adjusted based on a duty ratio of a PWM (Pulse Width Modulation) control.
A general structure of an electric power steering apparatus will be explained with reference to FIG. 1. A shaft 2 of a steering wheel 1 is connected to a tie rod 6 of running wheels through reduction gears 3, universal joints 4a and 4b and a pinion rack mechanism 5. The shaft 2 is provided with a torque sensor 10 for detecting a steering torque of the steering wheel 1. A motor 20 for assisting the steering force of the steering wheel 1 is connected to the shaft 2 through a clutch 21 and the reduction gears 3. A control unit 30 for controlling the power steering apparatus is supplied with power from a battery 14 through an ignition key 11 and a relay 13. The control unit 30 calculates a steering assist command value I of an assist command based on a steering torque T detected by the torque sensor 10 and a vehicle speed V detected by a vehicle speed sensor 12. The control unit 30 then controls a current to be supplied to the motor 20 based on the calculated steering assist command value I. The clutch 21 is ON/OFF-controlled by the control unit 30, and is kept ON (connected) in an ordinary operation status. When the control unit 30 has decided that the power steering apparatus is in failure, and also when the power source (voltage Vb) of the battery 14 has been turned OFF with the ignition key 11 and the relay 13, the clutch 21 is turned OFF (disconnected).
The control unit 30 is mainly composed of a CPU. FIG. 2 shows general functions to be executed based on a program inside the CPU. Functions and operation of the control unit 30 will be explained below.
A steering torque T detected by the torque sensor 10 and then input is phase-compensated by the phase compensator 31 for increasing the stability of the steering system. The phase-compensated steering torque TA is inputted to a steering assist command value calculator 32. A vehicle speed V detected by the vehicle speed sensor 12 is also inputted to the steering assist command value calculator 32. The steering assist command value calculator 32 calculates a steering assist command value I as a control target value of a current to be supplied to the motor 20, based on the inputted steering torque TA and the inputted vehicle speed V. The steering assist command value I is inputted to a subtractor 30A, and is also inputted to a differential compensator 34 of a feedforward system for increasing a response speed.
A difference (Ixe2x88x92i) calculated by the subtractor 30A is inputted to a proportional calculator 35. A proportional output from the proportional calculator 35 is inputted to an adder 30B, and is also inputted to an integration calculator 36 for improving the characteristic of the feedback system. Outputs from the differential compensator 34 and the integration calculator 36 are also inputted to the adder 30B, and are added together by the adder 30B. A result of the addition by the adder 30B is obtained as a current command value E, and this is inputted to a motor driving circuit 37 as a motor driving signal. A motor current value i of the motor 20 is detected by a motor current detecting circuit 38, and this motor current value i is inputted to the subtractor 30A and is fed back.
As explained above, conventionally, one CPU has calculated the current command value based on the torque signal (the steering torque T) and the current detection value i. The CPU then has controlled the driving of the motor based on the current command value. In this case, a signal in the steering torque direction is generated to the determined motor current driving direction, based on the torque signal using hard logic or other CPU. Only when the signal in the steering torque direction coincides with the motor driving direction, the motor is driven. In the case of detecting an abnormality of the motor driving system, the time taken from a detection to a fixing of an abnormality is constant, and this has not always been accurate.
Further, conventionally, one CPU is provided with an external WDT (Watch Dog Timer), and the CPU inputs a clear pulse to the WDT to monitor a runaway of the CPU. When a clear pulse has not been inputted within a predetermined time, a reset signal is outputted to the CPU from the DWT, thereby to restart the CPU. Further, when the system uses two CPUs, the two CPUs mutually output pulses of predetermined periods, and mutually monitor the periods of the pulses, thereby to monitor a runaway of the other CPU.
According to the above electric power steering apparatus, the inertia of the motor becomes large along with an increase in the output of the motor. Thus, in order to secure the steering characteristic, it has become necessary to compensate for the inertia of the motor. Because of the control of compensating for the inertia, the direction of the torque signal has come not to coincide with the actual driving direction of the motor, unlike the conventional practice. As a result, in spite of the fact that the control of the inertia compensation function operates normally, the other controller outputs a torque direction signal based on the torque signal, and there occurs the inconvenience that the motor driving is stopped temporarily. In other words, the direction interlocking based on the direction of the steering torque that has been practiced conventionally has become not adaptable to the actual system.
Further, conventionally, in the case of detecting an abnormality of the motor driving system, the time taken from a detection of an abnormality to a fixing of the abnormality has been constant. However, in the case of detecting an abnormality by obtaining a difference between a current command value and a motor current detection value, it is considered that the existence of a large difference is clearly abnormal. In this case, it is necessary to quickly stop the system. When a small difference has been detected, an erroneous detection due to the influence of noise or the like is considered. In this case, it is necessary to take time for fixing the abnormality.
Further, according to the conventional practice of monitoring a runaway of the CPU by using an external WDT, the CPU generates a runaway when a program does not operate normally, and the CPU is restarted based on a reset signal from the WDT. However, in the case of a failure that the program generates a runway at the same place again, the output status and the stop status of the motor are generated alternately. This has brought about a dangerous status to the driver.
When the system has two controllers, and one controller (a first controller) carries out a control and the other controller (a second controller) monitors the control, the two controllers need to mutually monitor a runaway of the CPUs in order to confirm that the monitoring controller is operating normally (for example, Japanese Patent Application Laid-Open No. 5-213208 A). When the system has two CPUs, and the two CPUs mutually transmit/receive pulse signals to monitor a runaway of the other CPU, there have been the following problems. The program itself does not operate normally, and continues outputting only a monitoring pulse, with a result that it is not possible to detect a runaway. A pulse signal that has been generated normally based on an electromagnetic wave or noise is measured erroneously, and is detected erroneously.
Further, when the first controller is halted, or when the current command value is being limited based on the operation of the protection function, the second controller may misjudge that the control operation of the first controller is abnormal. Even when the first controller does not carry out an initial diagnosis or assist, a motor current may flow depending on a runway of the CPU. Depending on the motor current volume, a self-steering may occur that the steering is carried out automatically without control. Further, a current may flow within the motor driving circuit, depending on a failure of the driving circuit.
The present invention has been made in the light of the above situation. It is, therefore, an object of the present invention to provide a control unit for an electric power steering apparatus that is equipped with two controllers of a main and a sub (CPU or MCU) for controlling a motor of a large inertia, the one controller for controlling the power steering, and the other for monitoring the control operation, to have improved controllability and safety.
In order to meet the above object, according to one aspect of the present invention, there is provided a control unit for an electric power steering apparatus that controls a motor for giving steering assist force to a steering mechanism, based on a current command value calculated from a steering assist command value calculated based on the steering torque generated in the steering shaft, and a current detection value of the motor. Particularly, the control unit has a first controller and a second controller for controlling the motor. Based on a current command value calculated by the second controller, the second controller monitors the first controller that controls the driving of the motor based on the steering assist command value calculated by the first controller. When the first controller is in a status not controlling the steering assist command value, the function of the second controller for monitoring the first controller is limited.
According to another aspect of the present invention, there is provided a control unit for an electric power steering apparatus that controls a motor for giving steering assist force to a steering mechanism, based on a current command value calculated from a steering assist command value calculated based on the steering torque generated in the steering shaft, and a current detection value of the motor. Particularly, the control unit has a first controller and a second controller for controlling the motor. Based on a current command value calculated by the second controller, the second controller monitors the first controller that controls the driving of the motor based on the steering assist command value calculated by the first controller. When the first controller is in a status of limiting the current command value based on an own self-protection function, the function of the second controller for monitoring the first controller is limited.